from openpyxl import load_workbook

# 这个需求是因为提交的第二版的名字已经修改，根据老名字匹配到总表，再把新名字替换到总表匹配的位置

# 打开 AExcel 和 BExcel 文件
workbook_a = load_workbook(r'D:\Window\楼下-新亨问题修改.xlsx2.xlsx')
workbook_b = load_workbook(r'D:\Window\揭东区新亨增补非规划道路（街巷）命名方案.xlsx')

# 获取 AExcel 和 BExcel 文件的工作表
sheet_a = workbook_a['Sheet2']
sheet_b = workbook_b['Sheet1']

# 获取 AExcel 的第 2 列和第 3 列数据
column_2_a = [cell.value for cell in sheet_a['B']]
column_3_a = [cell.value for cell in sheet_a['N']]

# 获取 BExcel 的第 2 列数据
column_2_b = [cell.value for cell in sheet_b['B']]

# 比较 AExcel 和 BExcel 的第 2 列数据，如果相等，则用 AExcel 的第 3 列数据替换 BExcel 的第 2 列数据
for i in range(len(column_2_a)):
    # 获取当前 A2 单元格的值
    value_a = column_2_a[i]

    # 遍历 BExcel 的第 2 列数据
    for j in range(len(column_2_b)):
        # 获取当前 B2 单元格的值
        value_b = column_2_b[j]
        # print(f"value_a:{value_a}---------,value_b:{value_b}")
        # 如果 A2 和 B2 中的值相等，则用 A3 的值替换 B2 的值
        if value_a == value_b:
            print(f"value_a:{value_a}---------,value_b:{value_b},……………………column_3_a：{column_3_a[i]}")
            sheet_b.cell(row=j + 1, column=2).value = column_3_a[i]
            sheet_b.cell(row=j + 1, column=3).value = ""

# 保存修改后的 BExcel 文件
workbook_b.save(rf'D:\Window\BExcel_modified.xlsx')

